home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d12 / norpt.arc / NORPT.ASM < prev    next >
Assembly Source File  |  1989-08-27  |  9KB  |  442 lines

  1. ;
  2. ;
  3. ;       Thomas Nofsinger
  4. ;       cccc ASM 290
  5. ;       4/17/89
  6. ;
  7. ;       PROGRAM LISTING FOR NORPT.COM
  8. ;
  9. ;       THIS PROGRAM WILL TURN OFF THE REPEAT FUNCTION OF THE KEYBOARD,
  10. ;       AND STAY MEMORY RESIDENT.  IT IS CODED FOR MY HARDWARE AND MAY NOT
  11. ;       WORK ON ALL CLONES AND REAL PC'S.
  12. ;
  13.  
  14. CSEG    SEGMENT
  15.     ASSUME CS:CSEG                  ;NO STACK SEG!
  16.  
  17.     ORG     100H                    ;A .COM file
  18. BEGIN:
  19.  
  20.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  21.     MOV     BL,15
  22.     MOV     AL,'N'
  23.     MOV     CX,1
  24.     MOV     AH,14
  25.     INT     10h
  26.  
  27.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  28.     MOV     BL,15
  29.     MOV     AL,'O'
  30.     MOV     CX,1
  31.     MOV     AH,14
  32.     INT     10h
  33.  
  34.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  35.     MOV     BL,15
  36.     MOV     AL,'R'
  37.     MOV     CX,1
  38.     MOV     AH,14
  39.     INT     10h
  40.  
  41.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  42.     MOV     BL,15
  43.     MOV     AL,'P'
  44.     MOV     CX,1
  45.     MOV     AH,14
  46.     INT     10h
  47.  
  48.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  49.     MOV     BL,15
  50.     MOV     AL,'T'
  51.     MOV     CX,1
  52.     MOV     AH,14
  53.     INT     10h
  54.  
  55.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  56.     MOV     BL,15
  57.     MOV     AL,' '
  58.     MOV     CX,1
  59.     MOV     AH,14
  60.     INT     10h
  61.  
  62.  MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  63.     MOV     BL,15
  64.     MOV     AL,'I'
  65.     MOV     CX,1
  66.     MOV     AH,14
  67.     INT     10h
  68.  
  69.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  70.     MOV     BL,15
  71.     MOV     AL,'N'
  72.     MOV     CX,1
  73.     MOV     AH,14
  74.     INT     10h
  75.  
  76.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  77.     MOV     BL,15
  78.     MOV     AL,'S'
  79.     MOV     CX,1
  80.     MOV     AH,14
  81.     INT     10h
  82.  
  83.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  84.     MOV     BL,15
  85.     MOV     AL,'T'
  86.     MOV     CX,1
  87.     MOV     AH,14
  88.     INT     10h
  89.  
  90.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  91.     MOV     BL,15
  92.     MOV     AL,'A'
  93.     MOV     CX,1
  94.     MOV     AH,14
  95.     INT     10h
  96.  
  97.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  98.     MOV     BL,15
  99.     MOV     AL,'L'
  100.     MOV     CX,1
  101.     MOV     AH,14
  102.     INT     10h
  103.  
  104.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  105.     MOV     BL,15
  106.     MOV     AL,'L'
  107.     MOV     CX,1
  108.     MOV     AH,14
  109.     INT     10h
  110.  
  111.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  112.     MOV     BL,15
  113.     MOV     AL,'E'
  114.     MOV     CX,1
  115.     MOV     AH,14
  116.     INT     10h
  117.  
  118.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  119.     MOV     BL,15
  120.     MOV     AL,'D'
  121.     MOV     CX,1
  122.     MOV     AH,14
  123.     INT     10H
  124.  
  125.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  126.     MOV     BL,15
  127.     MOV     AL,' '
  128.     MOV     CX,1
  129.     MOV     AH,14
  130.     INT     10h
  131.  
  132.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  133.     MOV     BL,15
  134.     MOV     AL,' '
  135.     MOV     CX,1
  136.     MOV     AH,14
  137.     INT     10h
  138.  
  139.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  140.     MOV     BL,15
  141.     MOV     AL,' '
  142.     MOV     CX,1
  143.     MOV     AH,14
  144.     INT     10h
  145.  
  146.     INT     10h
  147.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  148.     MOV     BL,15
  149.     MOV     AL,'C'
  150.     MOV     CX,1
  151.     MOV     AH,14
  152.     INT     10h
  153.  
  154.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  155.     MOV     BL,15
  156.     MOV     AL,'O'
  157.     MOV     CX,1
  158.     MOV     AH,14
  159.     INT     10h
  160.  
  161.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  162.     MOV     BL,15
  163.     MOV     AL,'P'
  164.     MOV     CX,1
  165.     MOV     AH,14
  166.     INT     10h
  167.  
  168.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  169.     MOV     BL,15
  170.     MOV     AL,'Y'
  171.     MOV     CX,1
  172.     MOV     AH,14
  173.     INT     10h
  174.  
  175.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  176.     MOV     BL,15
  177.     MOV     AL,'R'
  178.     MOV     CX,1
  179.     MOV     AH,14
  180.     INT     10h
  181.  
  182.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  183.     MOV     BL,15
  184.     MOV     AL,'I'
  185.     MOV     CX,1
  186.     MOV     AH,14
  187.     INT     10h
  188.  
  189.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  190.     MOV     BL,15
  191.     MOV     AL,'G'
  192.     MOV     CX,1
  193.     MOV     AH,14
  194.     INT     10h
  195.  
  196.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  197.     MOV     BL,15
  198.     MOV     AL,'H'
  199.     MOV     CX,1
  200.     MOV     AH,14
  201.     INT     10h
  202.  
  203.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  204.     MOV     BL,15
  205.     MOV     AL,'T'
  206.     MOV     CX,1
  207.     MOV     AH,14
  208.     INT     10h
  209.  
  210.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  211.     MOV     BL,15
  212.     MOV     AL,' '
  213.     MOV     CX,1
  214.     MOV     AH,14
  215.     INT     10h
  216.  
  217.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  218.     MOV     BL,15
  219.     MOV     AL,'1'
  220.     MOV     CX,1
  221.     MOV     AH,14
  222.     INT     10h
  223.  
  224.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  225.     MOV     BL,15
  226.     MOV     AL,'9'
  227.     MOV     CX,1
  228.     MOV     AH,14
  229.     INT     10h
  230.  
  231.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  232.     MOV     BL,15
  233.     MOV     AL,'8'
  234.     MOV     CX,1
  235.     MOV     AH,14
  236.     INT     10h
  237.  
  238.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  239.     MOV     BL,15
  240.     MOV     AL,'9'
  241.     MOV     CX,1
  242.     MOV     AH,14
  243.     INT     10h
  244.  
  245.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  246.     MOV     BL,15
  247.     MOV     AL,' '
  248.     MOV     CX,1
  249.     MOV     AH,14
  250.     INT     10h
  251.  
  252.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  253.     MOV     BL,15
  254.     MOV     AL,'N'
  255.     MOV     CX,1
  256.     MOV     AH,14
  257.     INT     10h
  258.  
  259.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  260.     MOV     BL,15
  261.     MOV     AL,'O'
  262.     MOV     CX,1
  263.     MOV     AH,14
  264.     INT     10h
  265.  
  266.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  267.     MOV     BL,15
  268.     MOV     AL,'F'
  269.     MOV     CX,1
  270.     MOV     AH,14
  271.     INT     10h
  272.  
  273.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  274.     MOV     BL,15
  275.     MOV     AL,'S'
  276.     MOV     CX,1
  277.     MOV     AH,14
  278.     INT     10h
  279.  
  280.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  281.     MOV     BL,15
  282.     MOV     AL,'I'
  283.     MOV     CX,1
  284.     MOV     AH,14
  285.     INT     10h
  286.  
  287.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  288.     MOV     BL,15
  289.     MOV     AL,'N'
  290.     MOV     CX,1
  291.     MOV     AH,14
  292.     INT     10h
  293.  
  294.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  295.     MOV     BL,15
  296.     MOV     AL,'G'
  297.     MOV     CX,1
  298.     MOV     AH,14
  299.     INT     10h
  300.  
  301.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  302.     MOV     BL,15
  303.     MOV     AL,'E'
  304.     MOV     CX,1
  305.     MOV     AH,14
  306.     INT     10h
  307.  
  308.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  309.     MOV     BL,15
  310.     MOV     AL,'R'
  311.     MOV     CX,1
  312.     MOV     AH,14
  313.     INT     10h
  314.  
  315.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  316.     MOV     BL,15
  317.     MOV     AL,','
  318.     MOV     CX,1
  319.     MOV     AH,14
  320.     INT     10h
  321.  
  322.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  323.     MOV     BL,15
  324.     MOV     AL,' '
  325.     MOV     CX,1
  326.     MOV     AH,14
  327.     INT     10h
  328.  
  329.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  330.     MOV     BL,15
  331.     MOV     AL,'T'
  332.     MOV     CX,1
  333.     MOV     AH,14
  334.     INT     10h
  335.  
  336.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  337.     MOV     BL,15
  338.     MOV     AL,'H'
  339.     MOV     CX,1
  340.     MOV     AH,14
  341.     INT     10h
  342.  
  343.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  344.     MOV     BL,15
  345.     MOV     AL,'O'
  346.     MOV     CX,1
  347.     MOV     AH,14
  348.     INT     10h
  349.  
  350.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  351.     MOV     BL,15
  352.     MOV     AL,'M'
  353.     MOV     CX,1
  354.     MOV     AH,14
  355.     INT     10h
  356.  
  357.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  358.     MOV     BL,15
  359.     MOV     AL,'A'
  360.     MOV     CX,1
  361.     MOV     AH,14
  362.     INT     10h
  363.  
  364.     MOV     BH,0            ;COPYRIGHT NOTICE WITHOUT IO.LIB
  365.     MOV     BL,15
  366.     MOV     AL,'S'
  367.     MOV     CX,1
  368.     MOV     AH,14
  369.     INT     10h
  370.  
  371.  
  372.     JMP     START
  373.  
  374. BIOS_INT_9      DD      ?
  375. LASTKEY         DB      ?
  376.  
  377. INT9_TASK      PROC    FAR
  378.  
  379.     ASSUME DS:nothing
  380.  
  381.     PUSH    AX
  382.  
  383.     IN      AL,60h          ;READ PORT A OF 8255 FOR KEYS
  384.  
  385.     TEST    AL,80h          ;TEST FOR BREAK KEY
  386.  
  387.     JNZ     KEY_IN      ;IT IS A BREAK KEY -  TAKE IT IN
  388.  
  389.     CMP     AL,LASTKEY
  390.     JNZ     KEY_IN      ;KEY TO PROCESS
  391.  
  392.     IN      AL,61h          ;FEED PORT B ON THE 8255 A HIGH BIT 7
  393.     OR      AL,80h          ;TO ACK DATA
  394.     OUT     61H,AL
  395.     AND     AL,7Fh          ;CLEAR BIT 7 (LOW)
  396.     OUT     61h,AL
  397.  
  398.     MOV     AL,20h          ;HARDWARE INTERRUPT DONE
  399.     OUT     20h,AL          ;SIGNAL TO THE 8255
  400.  
  401.     POP     AX
  402.     IRET                    ;DUPED KEY STROKE --> BIT BUCKET
  403.  
  404. KEY_IN:
  405.  
  406.     MOV     LASTKEY,AL      ;SAVE KEY FOR NEXT CYCLE
  407.     PUSHF
  408.     CALL    BIOS_INT_9      ;PASS TO BIOS TO PROCESS THE KEY
  409.     POP     AX
  410.     IRET
  411.  
  412.     End_Resident    EQU $
  413.  
  414. INT9_TASK  ENDP
  415.  
  416.  
  417. START   PROC    NEAR
  418.  
  419.     ASSUME  DS:CSEG
  420.  
  421.     MOV     LASTKEY,80h    ;intialize LASTKEY
  422.  
  423.     MOV     AL,9            ;READ AND RECORD BIOS INT 9 VECTOR
  424.     MOV     AH,35h
  425.     INT     21h
  426.     MOV     WORD PTR BIOS_INT_9,BX
  427.     MOV     WORD PTR BIOS_INT_9[2],ES
  428.  
  429.     MOV     DX,offset INT9_TASK    ;POINT INT 9 VECTOR TO THIS TASK
  430.     MOV     AL,9
  431.     MOV     AH,25h
  432.     INT     21h
  433.  
  434.     LEA     DX,End_Resident        ;TSR
  435.     INT     27h
  436.  
  437. START   ENDP
  438. CSEG    ENDS
  439.         END     BEGIN
  440.  
  441.  
  442.